package com.example.eventbus.subscribe;

import android.content.Context;
import android.util.Log;
import android.widget.Toast;

import com.example.eventbus.bean.MessageEvent;

import org.greenrobot.eventbus.Subscribe;
import org.greenrobot.eventbus.ThreadMode;

//订阅者类 用于接收事件 并处理事件
public class MySubscribe {

    private Context mContext;

    public MySubscribe(Context mContext) {
        this.mContext = mContext;
    }

    //准备订阅者
    //线程模式有五种
    /*1 POSTING 由发布线程执行 没有线程切换 在主线程发布事件就在主线程执行 在子线程发布事件就在子线程执行
     * 2 MAIN 由主线程执行
     * 3 MAIN_ORDERED 由主线程执行 保证时间有序处理
     * 4 BACKGROUND 如果在非主线程发布事件 则直接执行 否则有线程池执行
     * 5 ASYNC 由线程池执行*/
    @Subscribe(threadMode = ThreadMode.MAIN)
    public void onMessageEvent(MessageEvent event) {
        Toast.makeText(mContext , event.message , Toast.LENGTH_SHORT).show();
    }

}
